package com.xx.jicheng.service;

import com.xx.jicheng.entity.Account;

public interface SecurityService {
	
	/**
	 * 生成盐
	 * @param n 盐字节数组占用的字节数
	 * @return 返回盐字节数组的HEX格式,长度为n*2
	 */
	public String generateSalt(int n);
	
	/**
	 * 密码加密
	 * @param plainPassword 明文密码
	 * @param salt 盐(HEX格式)
	 * @return 加密密码
	 */
	public String encrypt(String plainPassword, String salt);

	/**
	 * 登录
	 * @param principals 用户身份，可以是accountNo或是cellphone
	 * @param plainPassword 明文密码
	 * @return 如果校验通过，返回Account对象，如果用户身份或密码不正确，返回null
	 */
	public Account login(String principals, String plainPassword);

}
